package com.ruoyi.products.service.impl;

import java.util.List;

import com.ruoyi.products.domain.CombinedProductData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.products.mapper.ProductsMapper;
import com.ruoyi.products.domain.Products;
import com.ruoyi.products.service.IProductsService;

/**
 * 商品Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-30
 */
@Service
public class ProductsServiceImpl implements IProductsService
{
    @Autowired
    private ProductsMapper productsMapper;

    /**
     * 查询商品
     *
     * @param productId 商品主键
     * @return 商品
     */
    @Override
    public Products selectProductsByProductId(Long productId)
    {
        return productsMapper.selectProductsByProductId(productId);
    }

    /**
     * 查询商品列表
     *
     * @param products 商品
     * @return 商品
     */
    @Override
    public List<Products> selectProductsList(Products products)
    {
        return productsMapper.selectProductsList(products);
    }

    /**
     * 新增商品
     *
     * @param products 商品
     * @return 结果
     */
    @Override
    public int insertProducts(Products products)
    {
        return productsMapper.insertProducts(products);
    }

    /**
     * 修改商品
     *
     * @param products 商品
     * @return 结果
     */
    @Override
    public int updateProducts(Products products)
    {
        return productsMapper.updateProducts(products);
    }

    /**
     * 批量删除商品
     *
     * @param productIds 需要删除的商品主键
     * @return 结果
     */
    @Override
    public int deleteProductsByProductIds(Long[] productIds)
    {
        return productsMapper.deleteProductsByProductIds(productIds);
    }

    /**
     * 删除商品信息
     *
     * @param productId 商品主键
     * @return 结果
     */
    @Override
    public int deleteProductsByProductId(Long productId)
    {
        return productsMapper.deleteProductsByProductId(productId);
    }
    /**
     * 根据商品类型查询商品列表
     *
     * @param productType 商品类型
     * @return 商品集合
     */
    @Override
    public List<CombinedProductData> selectProductsByProductType(String productType) {
        System.out.println(productType);
        System.out.println(productsMapper.selectProductsByProductType(productType));
        return productsMapper.selectProductsByProductType(productType);
    }
    /**
     * 根据商品Id查询商品列表
     *
     * @param productId 商品类型
     * @return 商品集合
     */
    @Override
    public CombinedProductData selectCombineProductDataByProductId(Long productId) {
        return productsMapper.selectCombinedByProductID(productId);
    }
}
